const fs = require('fs');
const process = require('process');

const filePath = process.argv.slice(2);

if (!filePath) {
  // 没有输入文件路径
  console.error('rm: missing operand');
  process.exit(1);
} else {
  filePath.forEach(file => {
    // 判断文件是否存在
    if (!fs.existsSync(file)) {
      console.error(`rm: cannot remove '${file}': No such file or directory`);
      process.exit(1);
    } else {
      try {
        const stats = fs.statSync(file);
        // 判断是否是文件
        if (stats.isFile()) {
          fs.unlinkSync(file);
          console.log(`rm: removed '${file}'`);
        } else if (stats.isDirectory()) {
          // 判断是否是目录
          fs.rmSync(file, { recursive: true });
          console.log(`rm: removed directory '${file}'`);
        }
      } catch (err) {
        console.error(`rm: cannot remove '${file}': ${err}`);
        process.exit(1);
      }
    }
  })
}